package com.code.p9.单列模式;

/**
 * 描述:
 * 懒汉式单列 只有在调用get方法时才去创建
 *
 * @author CodeYang_Site
 * @version 2021/6/5 21:19
 */
public class LazyMan {

    /**
     * 单列模式的核心:
     * 一个类只能创建出一个对象,永远只有一个
     * 三板斧:
     * 1 创建单列不可修改对象
     * 2 私有构造器
     * 3 暴露获取单列的方法
     */

    //1. 初始化对象
    private static LazyMan singleton;


    //2.私有构造方法  避免反射得到对象
    private LazyMan() {
    }

    //3.暴露一个全局获取单列的方法
    public static LazyMan getInstance() {
        if (null == singleton) {
            singleton = new LazyMan();
        }
        return singleton;
    }

    //4.单列模式中的方法 尽量使用static方法

    public static void pay() {
        System.out.println("懒汉式单列");
    }


}
